Time Series Data Visualization এবং Evaluation

Machine Learning - পাইথন ডেটা সায়েন্স (Python Data Science) - Time Series Analysis
328

Time Series Data হল এমন ধরনের ডেটা যা একটি নির্দিষ্ট সময়ের মধ্যে সংগ্রহ করা হয় এবং সাধারণত এটি সময়ের সাথে সাথে পরিবর্তনশীল। Time Series বিশ্লেষণ এবং ভিজ্যুয়ালাইজেশন ডেটার প্রবণতা (trend), মৌসুমি পরিবর্তন (seasonality), এবং অন্যান্য নিদর্শন সনাক্ত করতে সহায়ক। এই ধরনের ডেটা সাধারণত ব্যবসা, অর্থনীতি, আবহাওয়া, স্টক মার্কেট, ইত্যাদির বিশ্লেষণে ব্যবহৃত হয়।

Time Series ডেটার জন্য Visualization এবং Evaluation গুরুত্বপূর্ণ, কারণ এটি ডেটার প্রবণতা, মৌসুমি পরিবর্তন এবং অন্যান্য বৈশিষ্ট্য চিহ্নিত করতে সাহায্য করে, এবং ভবিষ্যদ্বাণী বা অন্যান্য সিদ্ধান্ত গ্রহণ প্রক্রিয়া সহজ করে তোলে।


১. Time Series Data Visualization

Time Series Data Visualization ডেটার প্যাটার্ন এবং পরিবর্তনগুলিকে আরও ভালভাবে বোঝার জন্য অত্যন্ত গুরুত্বপূর্ণ। Time Series ডেটা দেখানোর জন্য বিভিন্ন ধরনের ভিজ্যুয়ালাইজেশন পদ্ধতি ব্যবহৃত হয়।

১.১ Line Plot (লাইনে প্লট)

এটি Time Series ডেটা ভিজ্যুয়ালাইজ করার জন্য সবচেয়ে জনপ্রিয় এবং সাধারণ পদ্ধতি। এটি সময়ের সাথে পরিবর্তনশীলতা দেখানোর জন্য ব্যবহার করা হয়।

import matplotlib.pyplot as plt
import pandas as pd

# ডেটা তৈরি
date_range = pd.date_range(start='2020-01-01', periods=100, freq='D')
data = pd.Series(range(100), index=date_range)

# লাইনে প্লট তৈরি
plt.figure(figsize=(10,6))
plt.plot(data)
plt.title('Time Series Line Plot')
plt.xlabel('Date')
plt.ylabel('Value')
plt.show()

১.২ Seasonality এবং Trend এর বিশ্লেষণ

Time Series ডেটা বিশ্লেষণ করে মৌসুমি পরিবর্তন এবং প্রবণতা নির্ধারণ করা যেতে পারে।

  • Seasonality: মৌসুমি পরিবর্তন এক ধরনের প্যাটার্ন যা নির্দিষ্ট সময়ের মধ্যে পুনরাবৃত্তি হয় (যেমন, বছরে একটি নির্দিষ্ট সময়ে গরম বা শীতের ঋতু)।
  • Trend: দীর্ঘমেয়াদী প্রবণতা, যা সময়ের সাথে ধীরে ধীরে পরিবর্তন হতে পারে।

১.৩ Decomposition Plot

Time Series ডেটার উপাদানগুলির (প্রবণতা, মৌসুমি, এবং ত্রুটি) বিশ্লেষণ করতে seasonal decomposition of time series (STL) ব্যবহার করা হয়।

from statsmodels.tsa.seasonal import seasonal_decompose

# ডেটা তৈরি
data = pd.Series(range(100), index=pd.date_range(start='2020-01-01', periods=100, freq='D'))

# ডেটা ডিকম্পোজিশন
result = seasonal_decompose(data, model='additive', period=30)

# প্লট তৈরি
result.plot()
plt.show()

১.৪ Autocorrelation Plot

Autocorrelation plot ডেটার স্ব-সম্পর্ক নির্ধারণ করতে ব্যবহৃত হয়, যা পরবর্তী সময়ের মান পূর্ববর্তী মানের সাথে সম্পর্কিত কিনা তা পরীক্ষা করে।

from pandas.plotting import autocorrelation_plot

# ডেটা তৈরি
data = pd.Series(range(100), index=pd.date_range(start='2020-01-01', periods=100, freq='D'))

# অটোকরিলেশন প্লট তৈরি
autocorrelation_plot(data)
plt.show()

২. Time Series Data Evaluation

Time Series Data Evaluation হল Time Series মডেল বা পূর্বাভাসের কার্যকারিতা মূল্যায়ন করা। Time Series বিশ্লেষণের জন্য বিভিন্ন মেট্রিক্স এবং কৌশল রয়েছে যা পূর্বাভাসের যথার্থতা এবং মডেলের কর্মক্ষমতা নির্ধারণ করে।

২.১ Mean Absolute Error (MAE)

MAE হল একটি সাধারণ মেট্রিক যা প্রকৃত মান এবং পূর্বাভাসের মধ্যে গড় পার্থক্য নির্ধারণ করে। MAE হল একটি ন্যূনতম ত্রুটি মাপ যা বুঝতে সহজ।

MAE=1ni=1nYiY^iMAE = \frac{1}{n} \sum_{i=1}^{n} |Y_i - \hat{Y}_i|

যেখানে:

  • YiY_i হল প্রকৃত মান
  • Y^i\hat{Y}_i হল পূর্বাভাস মান
from sklearn.metrics import mean_absolute_error

# প্রকৃত ডেটা এবং পূর্বাভাস ডেটা
y_true = [3, 5, 7, 9]
y_pred = [2.8, 5.1, 6.8, 8.9]

# MAE গণনা
mae = mean_absolute_error(y_true, y_pred)
print(f"Mean Absolute Error (MAE): {mae}")

২.২ Root Mean Squared Error (RMSE)

RMSE হল একটি গুরুত্বপূর্ণ মেট্রিক যা পূর্বাভাসের ত্রুটির স্কোয়ার রুট হিসেবে গণনা করা হয়। এটি বৃহত্তর ত্রুটির জন্য বেশি জরিমানা দেয় এবং এটি মূলত স্ট্যান্ডার্ড ডেভিয়েশন-এর মতো।

RMSE=1ni=1n(YiY^i)2RMSE = \sqrt{\frac{1}{n} \sum_{i=1}^{n} (Y_i - \hat{Y}_i)^2}

from sklearn.metrics import mean_squared_error
import numpy as np

# RMSE গণনা
rmse = np.sqrt(mean_squared_error(y_true, y_pred))
print(f"Root Mean Squared Error (RMSE): {rmse}")

২.৩ Mean Absolute Percentage Error (MAPE)

MAPE হল একটি জনপ্রিয় মেট্রিক যা পূর্বাভাস ত্রুটির শতাংশ হিসাবে পরিমাপ করে এবং এটি খুবই সহায়ক যদি আপনি পারসেন্টেজ ত্রুটি দেখতে চান।

MAPE=1ni=1nYiY^iYi×100MAPE = \frac{1}{n} \sum_{i=1}^{n} \left|\frac{Y_i - \hat{Y}_i}{Y_i}\right| \times 100

def mean_absolute_percentage_error(y_true, y_pred):
    return np.mean(np.abs((y_true - y_pred) / y_true)) * 100

# MAPE গণনা
mape = mean_absolute_percentage_error(y_true, y_pred)
print(f"Mean Absolute Percentage Error (MAPE): {mape}%")

২.৪ Akaike Information Criterion (AIC) এবং Bayesian Information Criterion (BIC)

AIC এবং BIC হল মডেল নির্বাচনের জন্য ব্যবহৃত পরিমাপ, যা মডেলের ফিটনেস এবং জটিলতা উভয়ই বিবেচনায় নেয়। সাধারণভাবে, কম AIC/BIC মান ভাল মডেল নির্দেশ করে।


৩. Time Series Forecasting Models Evaluation

Time Series মডেলগুলির জন্য বিভিন্ন মূল্যায়ন কৌশল এবং মেট্রিক্স ব্যবহৃত হয়:

  • ARIMA (AutoRegressive Integrated Moving Average): এটি একক ভেরিয়েবল Time Series পূর্বাভাসের জন্য ব্যবহৃত হয়।
  • Exponential Smoothing: সাম্প্রতিক পর্যায়ের মানকে বেশি গুরুত্ব দিয়ে পূর্বাভাস করা হয়।
  • SARIMA (Seasonal ARIMA): মৌসুমি প্রবণতা সহ Time Series পূর্বাভাসের জন্য ব্যবহৃত হয়।

এছাড়া, Cross-validation Time Series ডেটার জন্য সামান্য ভিন্নভাবে করা হয় (স্লাইসিং বা টাইম-সিরিজ স্পেসিফিক ক্রস-ভ্যালিডেশন)।


সারাংশ

Time Series Data Visualization এবং Evaluation অত্যন্ত গুরুত্বপূর্ণ, কারণ এটি Time Series ডেটার মধ্যে প্রবণতা, মৌসুমি পরিবর্তন এবং সম্পর্ক সনাক্ত করতে সহায়ক। Visualization কৌশলগুলি, যেমন Line Plot, Boxplot, এবং Decomposition Plot, ডেটার ইনসাইট বের করতে ব্যবহৃত হয়, এবং Evaluation মেট্রিক্স, যেমন MAE, RMSE, MAPE, Time Series পূর্বাভাসের নির্ভুলতা মূল্যায়ন করতে সহায়ক। Time Series মডেল নির্বাচনে সঠিক ভিজ্যুয়ালাইজেশন এবং মূল্যায়ন কৌশল নির্বাচন করা খুবই গুরুত্বপূর্ণ।

Content added By
Promotion
NEW SATT AI এখন আপনাকে সাহায্য করতে পারে।

Are you sure to start over?

Loading...